#include "serialassistant.h"
#include "ui_serialassistant.h"
#include<QComboBox>
#include <QToolBar>

SerialAssistant::SerialAssistant(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::SerialAssistant)
{
    ui->setupUi(this);
    toolBar = new QToolBar(this);
    this->addToolBar(Qt::TopToolBarArea, toolBar); // 设置工具栏只在顶部
    // 给工具栏添加按钮
    toolBar->addAction(ui->actionadd);
    toolBar->addAction(ui->actionclose);
    toolBar->addSeparator(); // 分割线
    toolBar->addAction(ui->actionopen);
    toolBar->addAction(ui->actioninterval);
    toolBar->addAction(ui->actionread);
    toolBar->addAction(ui->actionwrite);
    toolBar->addAction(ui->actionsave);
    toolBar->addSeparator(); // 分割线
    toolBar->addAction(ui->actionclearnum);
    toolBar->addAction(ui->actionclearserial);
    toolBar->addSeparator(); // 分割线
    toolBar->addAction(ui->actionhelp);
    // 不支持浮空(关闭悬停功能)
    toolBar->setFloatable(false);
    // 设置工具栏不可移动
    toolBar->setMovable(false);

    // 串口下拉框 添加数据
    ui->serialComboBox->addItem("ttyS0");
    ui->serialComboBox->addItem("ttyS1");
    ui->serialComboBox->addItem("ttyS2");
    ui->serialComboBox->addItem("ttyUSB0");
    // 数据位下拉框 添加数据
    ui->dataComboBox->addItem("5");
    ui->dataComboBox->addItem("6");
    ui->dataComboBox->addItem("7");
    ui->dataComboBox->addItem("8");
    // 停止位下拉框
    ui->stopComboBox->addItem("1");
    ui->stopComboBox->addItem("1.5");
    ui->stopComboBox->addItem("2");
    // 校验位
    ui->checkComboBox->addItem("无");
    ui->checkComboBox->addItem("奇");
    ui->checkComboBox->addItem("偶");
    // 设置LCDNumber背景色
    ui->lcdNumber->setStyleSheet("QLCDNumber { background-color: lightgreen; }");
    ui->lcdNumber_2->setStyleSheet("QLCDNumber { background-color: lightgreen; }");

    // 设置checkbox不可用
    ui->checkBox->setEnabled(false);
    // 设置spinbox不可用
    ui->spinBox->setMaximum(1000); // 设置spinBox上限，默认99
    ui->spinBox->setValue(200);  // 设置spinBox初始值
    ui->spinBox->setEnabled(false);

    ui->lineEdit->setEnabled(false);
    ui->sendDataBtn->setEnabled(false);
}

SerialAssistant::~SerialAssistant()
{
    delete ui;
}
